/**
 * 项目名：化工企业安全生产信息化管理平台
 * 日期：    2020-04-18 23:54:05
 * Copyright (c) 2015- -版权所有
 */

package com.joysuch.wwyt.core.service;

import com.joysuch.wwyt.core.bean.*;
import com.joysuch.wwyt.core.bean.BaseMenuFunctionListBean.SearchBaseMenuFunction;
import com.joysuch.wwyt.core.common.ajax.ResultBean;
import com.joysuch.wwyt.core.entity.BaseMenuFunction;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;

import java.util.List;

public interface BaseMenuFunctionService {

    BaseMenuFunction add(BaseMenuFunctionEditBean entity);

    BaseMenuFunction update(BaseMenuFunctionEditBean entity);

    Page<BaseMenuFunctionListBean> findByPage(Pageable page, SearchBaseMenuFunction condition);

    void delete(Long id);

    BaseMenuFunctionDetailBean getById(Long id);

    BaseMenuFunction findById(Long id);

    /**
     * 查询父结构列表
     *
     * @param type
     * @param parentId
     * @param tenantId
     * @param orgCode
     * @return
     */
    List<SimpleSelectListBean> parentList(String type, Long parentId, Long tenantId, String orgCode);

    ResultBean getTopFun();


    BaseMenuFunction saveState(BaseMenuFunctionStateBean bean);

    Long updateExMenu(BaseMenuFunctionEditBean entity);

    Long addExMenu(BaseMenuFunctionEditBean entity);

    void deleteByExMenuId(Long id);
}
